#ifndef _EQTEST_OBJSTATE_H
#define _EQTEST_OBJSTATE_H

#include <co/object.h>

#include <eq/gl.h>

namespace eqtest
{
    struct GLfloat3
    { GLfloat x, y, z; };
    
    struct GLfloat2
    { GLfloat x, y; };
    
    class ObjState : public co::Object
    {
        public:
            ObjState();
            
            void addRotate(float drx, float dry);
            
            virtual ChangeType getChangeType() const { return INSTANCE; }
            
            GLfloat3 light;     // light position in view coordnates
            GLfloat2 rotate;    // rotation angle in degrees for x-axis and y-axis
            
        protected:
            virtual void getInstanceData(co::DataOStream& os);
            virtual void applyInstanceData(co::DataIStream& is);
            
    };
}

#endif
